Skip to content

update benchmark results post-performance audit - #109

Merged
kacy merged 1 commit into
mainfrom
bench/update-results-20260212
Feb 12, 2026
Merged

update benchmark results post-performance audit#109
kacy merged 1 commit into
mainfrom
bench/update-results-20260212

Conversation

@kacy

@kacy kacy commented Feb 12, 2026

Copy link
Copy Markdown
Owner

summary

fresh benchmark run on GCP c2-standard-8 (8 vCPU, us-east1-b) after the performance audit PRs (#106, #107, #108). updates README.md, bench/README.md, and adds raw CSV results.

key results (memtier_benchmark, P=16):

metric ember concurrent redis ratio
SET ops/sec 4,562,538 2,022,543 2.3x
GET ops/sec 6,624,838 2,225,336 3.0x
SET P99 latency 1.56ms 1.16ms
GET P99 latency 1.56ms 1.19ms

vs dragonfly (memtier, P=16):

metric ember concurrent dragonfly ratio
SET ops/sec 4,562,538 694,116 6.6x
GET ops/sec 6,624,838 1,021,986 6.5x

P=1 latency (memtier):

server p99 SET p99 GET
ember concurrent 0.64ms 0.61ms
redis 0.58ms 0.56ms
dragonfly 1.15ms 1.14ms

what was tested

  • bench/compare-redis.sh — redis-benchmark, 1M requests, 50 clients, P=16, 8 threads
  • bench/bench-memtier.sh — memtier_benchmark, 4 threads, 12 clients/thread, 50k req/client
  • bench/bench-memory.sh — 1M keys, 64B values
  • all four servers: ember concurrent, ember sharded, redis 7.2.7, dragonfly 1.36.0
  • GCP c2-standard-8, Ubuntu 22.04, jemalloc

design considerations

the concurrent mode ratios improved from ~1.6x to ~2.3-3.0x vs redis after the performance audit changes (thin LTO, pre-computed wire constants, zero-copy string parsing, ahash shard routing). sharded mode shows lower pipelined throughput due to channel routing overhead but matches or exceeds redis at P=1.

memtier_benchmark with 2.4M requests per test (50k/client):
- concurrent SET: 4.56M ops/sec (2.3x redis, 6.6x dragonfly)
- concurrent GET: 6.62M ops/sec (3.0x redis, 6.5x dragonfly)
- p99 latency (P=1): 0.6ms SET, 0.6ms GET

redis-benchmark with 1M requests:
- concurrent SET: 1.33M ops/sec (1.7x redis)
- concurrent GET: 2.00M ops/sec (2.0x redis)
@kacy
kacy merged commit b80fad2 into main Feb 12, 2026
5 of 7 checks passed
@kacy
kacy deleted the bench/update-results-20260212 branch February 12, 2026 19:01
kacy added a commit that referenced this pull request Feb 19, 2026
memtier_benchmark with 2.4M requests per test (50k/client):
- concurrent SET: 4.56M ops/sec (2.3x redis, 6.6x dragonfly)
- concurrent GET: 6.62M ops/sec (3.0x redis, 6.5x dragonfly)
- p99 latency (P=1): 0.6ms SET, 0.6ms GET

redis-benchmark with 1M requests:
- concurrent SET: 1.33M ops/sec (1.7x redis)
- concurrent GET: 2.00M ops/sec (2.0x redis)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant